package com.itcast.demoone.kotlin

fun main() {
    // listDemo()
    mutableListDemo()
}

fun listDemo() {
    // 1. 创建只读列表
    val colors = listOf("Red", "Green", "Blue")
    // println(colors)

    // 访问元素
    // println("最后一个颜色: ${colors[colors.size - 1]}")  // 输出: Red
    // println("包含绿色吗? ${colors.contains("Green")}") // 输出: true

    // 尝试修改 - 会报编译错误
    // colors.add("Yellow")   // 错误！
    // colors[0] = "Crimson" // 错误！

    // 遍历
    // println("\n所有颜色:")
    // colors.forEach{println(it)}

    // 转换为可变列表
    val mutableColors = colors.toMutableList()
    mutableColors.add("Yellow")
    mutableColors.add("Crimson")
    println("\n所有颜色:")
    mutableColors.forEach { println("- $it") }
}

fun mutableListDemo() {
    // 创建可变列表
    val shoppingList = mutableListOf("苹果", "牛奶", "牛奶")

    println(shoppingList)

    // 添加元素
    shoppingList.add("面包")
    shoppingList.add(1, "鸡蛋") // 在索引1处插入

    println(shoppingList)

    // 修改元素
    shoppingList[0] = "有机苹果"

    // 删除元素
    shoppingList.remove("牛奶")
    shoppingList.removeAt(0) // 删除第一个元素

    println("\n购物清单:")
    shoppingList.forEachIndexed { index, item ->
        println("${index + 1}. $item")
    }
}